#include <iostream>
#include <future>

int Add(int n1, int n2)
{
    return n1 + n2;
}

int main()
{
    //创建promise对象，用于保存结果
    std::promise<int> pro;

    //获取关联future对象
    std::future<int> ret =  pro.get_future();

    //创建线程执行任务
    std::thread t([&pro](){
        //保存结果
        pro.set_value(Add(11, 22));
    });

    //输出结果
    std::cout << ret.get() << std::endl;
    t.join();
    return 0;
}